#ifndef SCENE_H
#define SCENE_H

#include <QGraphicsScene>

class Scene : public QGraphicsScene
{
    Q_OBJECT

public:
    Scene(const QRectF &sceneRect, QObject *parent = 0);

private:
    QList<QGraphicsItem *> movingItems;
    QList<QPointF> oldPos;
    bool isCtrlActived;

signals:
    void mouseDoubleClick(QPointF);
    void hasSelection(bool);
    void itemMoved(QList<QGraphicsItem *>, QList<QPointF>);

private slots:
    void hasSelectedItem();

protected:
    void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event);
    void mousePressEvent(QGraphicsSceneMouseEvent *event);
    void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
    void keyPressEvent(QKeyEvent *event);
    void keyReleaseEvent(QKeyEvent *event);
};

#endif // SCENE_H
